package com.home.andromo;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class ActividadSacarCategoria extends Activity {
	private ListView mListAppInfo;

	private AndromoDbHelper dbHelper;
	private int categoriaActual;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.seleccion_main);

		dbHelper = new AndromoDbHelper(getApplicationContext());
		// Captura del mensaje en el intento
		Intent intent = getIntent();
		
		// Nombre,ValorInicial
		categoriaActual = intent.getIntExtra("category_name", -1); 
		// Se carga la lista de aplicaciones
		mListAppInfo = (ListView) findViewById(R.id.lvAppsSeleccion);
		// Se crea un adapter con las aplicaciones en una categoria
		AppInfoAdapterSeleccion adapter = new AppInfoAdapterSeleccion(this,
				Utilities.getInstalledApplication(this,
						dbHelper.SelectDatosPorIdCategoria(categoriaActual)),						
				getPackageManager());
		// Se asigna el adapter a la Lista
		mListAppInfo.setAdapter(adapter);

		mListAppInfo.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView parent, View view, int pos,
					long id) {
				// get the list adapter
				AppInfoAdapterSeleccion appInfoAdapter = (AppInfoAdapterSeleccion) parent
						.getAdapter();
				// get selected item on the list
				ApplicationInfo appInfo = ((Application) appInfoAdapter
						.getItem(pos)).getApp();
				dbHelper.quitarApp(appInfo.packageName, appInfo.name, -1); // una categoria oculta 
				// Aqui se toma la informacion para guardar en la BD
				// Esto es parar cerrar la actividad y devolver codigos de OK
				Intent retorno = new Intent();
				retorno.putExtra("deleted_package", "" + appInfo.packageName);
				// Se crea un resultado con retorno extra que contiene un OK(1)
				// Bajo el nombre added_package
				setResult(1, retorno);
				finish();
			}
		});

	}

	@Override
	public void onBackPressed() {
		// Borrar
		Toast.makeText(this, "onBackPressed", Toast.LENGTH_SHORT).show();
		super.onBackPressed();
		/* Esto es parar cerrar la actividad y devolver codigos de CANCEL */
		Intent retorno = new Intent();
		setResult(0, retorno);
		finish();
		finish();
	}
}
